package ar.edu.utn.frsf.tpae.a2012.g05.controller;

import java.io.Serializable;
import java.util.Date;

import javax.annotation.PostConstruct;
import javax.faces.context.FacesContext;

import ar.edu.utn.frsf.tpae.a2012.g05.entity.Cuenta;
import ar.edu.utn.frsf.tpae.a2012.g05.entity.Pago;
import ar.edu.utn.frsf.tpae.a2012.g05.service.MovimientoService;
import ar.edu.utn.frsf.tpae.a2012.g05.util.ServiceLocator;

public class PagoBean implements Serializable {

	private static final long serialVersionUID = -2979756947473150568L;

	private Cuenta cuenta;
	private Pago pago;

	private String mensaje;
	
	@PostConstruct
	public void init() {
		pago = new Pago();
		cuenta = (Cuenta) FacesContext.getCurrentInstance()
				.getExternalContext().getSessionMap().get("cuenta");
	}

	public String guardar() {
		MovimientoService movimientoService = ServiceLocator.getMovimientoService();
		pago.setCuenta(cuenta);
		pago.setFecha(new Date());
		try {
			movimientoService.realizarPago(pago);
			return "toMovimientos";
		} catch (Exception e) {
			System.out.println(e.getMessage());
			mensaje = e.getMessage();
		}
		return null;
	}
	
	// Getters y setters, utilizados por las JSP.	

	public Cuenta getCuenta() {
		return cuenta;
	}

	public Pago getPago() {
		return pago;
	}

	public void setPago(Pago pago) {
		this.pago = pago;
	}

	public void setCuenta(Cuenta cuenta) {
		this.cuenta = cuenta;
	}

	public String getMensaje() {
		return mensaje;
	}

	public void setMensaje(String mensaje) {
		this.mensaje = mensaje;
	}
}
